#ifndef MONO_H_
#define MONO_H_

#include "../ObjetoMovible.h"

#define LAPSUS_MINIMO_FABRICACIONES_MONO 10000

class EstadoMono {
	
	public:

	static const int TirandoBarril;
	static const int SinParticular;
	static const int Muriendo;
		
	static const vector<int> accionesParticulares;
	static const vector<string> descripcionAccionesParticulares;
	static const vector<int> acciones;
	static const vector<string> descripcionAcciones;
	static const vector<int> animaciones;
	
};

class Mono : public ObjetoEstatico {
	
	static const int PUNTOS_SUMAR = 700;
	static const int PUNTOS_RESTAR = 400;

	int vida;
	int tiempoUltimaFabricacion;
	int estadoParticular;
	vector<Animacion*> accionesParticulares;
	
	public:
		Mono(int x, int y, int maximoX, int maximoY, Orientacion orientacion);
		virtual pair<idImagen_t, int> getDibujable(Uint32 time);
		void addAccionParticular(int idImagen, int cuadros);
		void restarVida();
		void sumarVida();
		void Morir();
		virtual void ColisionarConPersonaje(ObjetoEstatico* personaje, int colX, int colY, int colXvieja = NULL, int colYvieja = NULL);
		virtual void ColisionarConEnemigo(ObjetoEstatico* movible, int colX, int colY, int colXvieja = NULL, int colYvieja = NULL);
};

#endif /* MONO_H_ */
